home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / docs / protocol / rfc / rfc_txt / rfc0000 / rfc0393.txt < prev    next >
Text File  |  1997-08-06  |  9KB  |  219 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group
  8. Request for Comments: 393                         Joel M. Winett
  9. NIC 11585                                         Lincoln Laboratory
  10. Categories: TELNET                                LL-67
  11. References: RFC 109, 139, 158,318, and 328        3 October 1972
  12.  
  13.  
  14.                   Comments on TELNET Protocol Changes
  15.  
  16.  
  17.  
  18.     Through this RFC, I am registering my objection to two of the
  19. three suggestions for changing the TELNET protocol as described in RFC
  20. 328 and am adding my suggestion for the interpretation of the TELNET
  21. Reverse Break Control Code.
  22.  
  23.  
  24. 1.  Hide-your-input
  25.  
  26.     This code was originally put in the TELNET protocol to give the
  27.     virtual terminal the ability to simulate a real terminal which has the
  28.     print suppress capability. If the terminals being used at some
  29.     installations do not have the ability to disable the printing
  30.     mechanism, the TELNET being used can either ignore this code or
  31.     attempt to simulate the function using other means (e. g., blacking
  32.     out a number of character positions and returning to the first
  33.     character position).  Every attempt should be made to allow a network
  34.     user of a time-sharing system to have the same facilities as a local
  35.     user of the time-sharing system. The specification of TELNET protocol
  36.     should not limit the function of users if a function cannot be
  37.     supported by all users.
  38.  
  39.     The "Hide-your-input" and "Echo" TELNET control codes provide for the
  40.     support of two functions available in some time-sharing systems.  The
  41.     "Hide-your-input" function is really a special case of the "Echo" mode
  42.     of operation where the server tells the user that the server will echo
  43.     but the server does not. A separate code is used for this func- tion
  44.     since some servers may support this function but may not support the
  45.     full "Echo" mode of operation.
  46.  
  47.  
  48.    ] This material has not been reviewed for public release and is [
  49.    ] intended only for use with the ARPA network. It should not be [
  50.    ] quoted or cited in any publication not related to the ARPA    [
  51.    ] network.                                                      [
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                                                                 [Page 1]
  59.  
  60.     The "Hide-your-input" and "Echo" modes of operation are disabled with
  61.     the "No-echo" control. ASCII control codes could have been chosen for
  62.     these functions but it was decided that the NVT ASCII control codes
  63.     should only be specified for commonly used functions.
  64.  
  65.     To indicate the number of characters for which the printing should be
  66.     suppressed, the "Hide-your-input" TELNET control could be rede- fined
  67.     to include a byte following the "Hide-your-input" control to indicate
  68.     the number of characters for which the printing should be concealed.
  69.     The "No-echo" control would still be sent so that systems with the
  70.     print suppress feature would not have to count characters.
  71.  
  72.  
  73. 2.  Data Types
  74.  
  75.     The protocol should allow a server to support users with character
  76.     codes other than ASCII, e. g., EBCDIC. The definition of an alter-
  77.     nate character code should include the definition of the TELNET
  78.     control codes. An EBCDIC code has been proposed in RFC # 109 and has
  79.     been implemented on the Lincoln Laboratory 360/67. If it is desired to
  80.     allow one to return to the network standard ASCII code, the non-ASCII
  81.     code should contain a code to indicate return to ASCII.
  82.  
  83.  
  84. 3.  Reverse Break
  85.  
  86.     The code for Break is defined as a 129th ASCII data code. It is
  87.     usually transmitted from a user's network virtual terminal to a server
  88.     when a corresponding key (break key or attention key) is typed on the
  89.     TELNET terminal and is interpreted by serving systems as that special
  90.     key. Since a common function of this key is to interrupt a running
  91.     process the server must be alerted to the fact that this code has been
  92.     transmitted no matter when it is sent.  Thus, the TELNET SYNC (TELNET
  93.     data mark together with a network interrupt on the TELNET send socket)
  94.     must also be trans- mitted to cause the serving process to examine the
  95.     received charac- ters. The ASCII control code EOT (Octal 4) could have
  96.     been chosen for the break function but his code is not interpreted by
  97.     all systems.  Thus, it was decided that an NVT TELNET control code
  98.     should be used for this purpose.
  99.  
  100.     The use of the Break Code from server to user TELNET has not
  101.     previously been defined and, thus, could be used to solve the
  102.     following problems which occur with line at a time and half duplex
  103.     systems. Line at a time systems do not output characters to the
  104.     terminal a character at a time but, instead, wait until a line is ready
  105.     for output. If a CR-LF sequence (TELNET protocol for end of line)
  106.     is received it is interpreted as an end of line and the characters
  107.     received are output. If characters are received which do not end
  108.  
  109.  
  110.  
  111.                                                                 [Page 2]
  112.  
  113.     with CR-LF the user TELNET does not know whether or not other
  114.     characters will follow which are part of the current line. Thus, the
  115.     characters received thus far must be output, without a CR-LF (new
  116.     line). If an end of message code were transmitted, the user TELNET
  117.     would know whether or not other characters would be received for
  118.     output. The user TELNET would then print characters either when
  119.     the TELNET Break control is received or when the CR-LF newline
  120.     sequence is received.
  121.  
  122.     If the user TELNET is being run from a half duplex terminal, the
  123.     terminal cannot receive input and type output at the same time.  Thus,
  124.     if output is received while the terminal is being used for input the
  125.     TELNET program must either buffer the received characters or abort the
  126.     input mode of operation to write out the received charac- ters. If
  127.     characters received are written out as they are received, the terminal
  128.     operation would be very similar to a full duplex terminal.  This mode
  129.     of operation requires that the terminal have a reverse break
  130.     capability to allow the input mode to be aborted by program control.
  131.  
  132.     In some systems it is only desirable to abort the input mode of
  133.     operation when a complete line is ready for output. If a string of
  134.     characters received does not end with an end of line code, the
  135.     characters received will not be output until after the input line is
  136.     entered, i. e., the mode of operation changed from input to output.
  137.     If an end of message code were transmitted, the user TELNET could
  138.     abort the input mode of operation even though the end of line code was
  139.     not received.
  140.  
  141.     In systems which do not support the reverse break feature or if the
  142.     terminal does not have this feature it is not possible to abort an
  143.     input mode of operation in order to output received characters. In
  144.     this case, the systems can operate in either of two modes, a) un-
  145.     locked keyboard, or b) locked keyboard mode.
  146.  
  147.     In an unlocked keyboard system, received characters are not output
  148.     until the user completes an input line. An input line is completed
  149.     when the end of line code is entered. This might be a CR, a LF, or
  150.     a NL code. After received characters, if any, are output, the input
  151.     modes is re-entered. To receive output the user must enter an input
  152.     line (possibly a null line). If the user is waiting for output, he must
  153.     repeatedly enter a line until the output has been received and typed.
  154.     Since an input line must be entered just to receive output, it is
  155.     desirable to define an input line which does not result in anything
  156.     being sent to the serving system. If a null line (a line consisting of
  157.     just the end of line code) is chosen for this purpose, some other input
  158.     line must be defined to cause a null line to be transmitted.
  159.  
  160.     In a locked keyboard system, the input mode is not immediately
  161.  
  162.  
  163.  
  164.                                                                 [Page 3]
  165.  
  166.     re-entered after an input line is entered. It is re-entered only after
  167.     a defined prompt is received. The prompt can be defined to be the
  168.     reception of any character or can be defined to be a specific charac-
  169.     ter code. If a specific code is chosen the serving site must send this
  170.     code whenever the terminal should be put into input mode. If an end of
  171.     message code were transmitted this code could be inter- preted to be
  172.     the input prompt code.
  173.  
  174.      In summary, three situations have been described where an end of
  175. message code would be desirable.
  176.  
  177.      a) To indicate when a line which does not end with CR-LF should
  178.         be output for line at a time systems
  179.  
  180.      b) To indicate that the input mode in half duplex operation should
  181.         be aborted so that received characters can be output
  182.  
  183.      c) As a prompt character to cause the input mode to be entered
  184.         for locked keyboard half duplex systems
  185.  
  186.      The ASCII TELNET control code for Break (Reverse Break) could be
  187. interpreted as an end of message code when sent from server to user.
  188.  
  189.  
  190.  
  191.           [ This RFC was put into machine readable form for entry ]
  192.           [ into the online RFC archives by BBN Corp. under the   ]
  193.           [ direction of Alex McKenzie.                      1/97 ]
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.                                                                 [Page 4]
  218.  
  219.